package oop11;

/**
 * @author oldliu
 * @since 1.0
 */
//电脑
public class PC {
    //牌子，颜色和价格
    private String brand;
    private String color;
    private int price;
    //电脑上提供usb接口
    //pc包含了若干个usb设备。。。有问题
    //pc包含了若干个usb接口。。。提供了若干链接usb设备的能力
    private Usb usbs[] = new Usb[4];//!!!1!!!

    public PC(String brand, String color, int price) {
        this.brand = brand;
        this.color = color;
        this.price = price;
    }

    public PC(String brand, String color, int price, int usbnum) {
        this(brand, color, price);
        usbs = new Usb[usbnum];//参数确定有几个usb接口
    }

    public PC() {

    }

    /**
     * 把usb设备接到pc上
     *
     * @param u
     */
    public void plug(Usb u) {
        for (int i = 0; i < usbs.length; i++) {
            if (usbs[i] == null) {
                usbs[i] = u;//找到一个空接口，插上去
                usbs[i].plugin();//调用他的方法
                return;
            }
        }
        System.out.println("没有空闲接口，插不上去");
    }

    /**
     * 电脑在工作中
     */
    public void work() {
        System.out.println(this.brand + "工作中。。。显示图像。。。做计算");
        for (int i = 0; i < usbs.length; i++) {
            if (usbs[i] != null)
                usbs[i].work();
        }
    }

}
